home *** CD-ROM | disk | FTP | other *** search
/ MACD 5 / MACD 5.bin / internet / miami_dodatki / togmi / rexx / togmi.rexx
OS/2 REXX Batch file  |  1996-08-16  |  4KB  |  152 lines

  1. /* TogMi 1.1 by Mat Bettinson
  2.  
  3. This script Toggles Miami's status. If not running, it may run it if desired.
  4. If it's hung up, it will make Miami dial-up. If it's dialed-up, it'll hang-up etc.
  5.  
  6. The little window is configurable and goes away after a couple of seconds.
  7. It beats opening up Miami's largish interferace every time.
  8.  
  9. Values below respesent defaults if Tooltypes can't be read. They usually can't be
  10. read if the icon has been renamed or rexxtricks.library not found.
  11.  
  12. */
  13.  
  14. MiamiDir = 'Store:Miami'
  15. RunMiami = YES
  16. KilMiami = NO
  17. TopX     = 300        /* Condensed to WINDOW in the Tooltypes */
  18. TopY     = 20
  19. WidthX   = 400
  20. WidthY   = 50
  21. Iconify  = YES
  22. TogMiName = 'TogMi'
  23. SetMiami = 'Miami.default'
  24.  
  25. /* Starts
  26. */
  27.  
  28. Options RESULTS
  29.  
  30. If ~Show(l,'rexxtricks.library') then DO
  31.   If AddLib('rexxtricks.library',0,-30) then rtricks = YES
  32.   ELSE rtricks = NO
  33. END
  34. ELSE rtricks = YES
  35.  
  36. Parse ARG TMName
  37. TMName = strip(TMName)
  38.  
  39. ProgVer = 'TogMi for Miami 1.0'
  40. OldDir = Pragma('Dir')
  41. If rtricks = YES then Call ReadToolTypes
  42.  
  43. If Index(':/',right(MiamiDir,1)) = 0 then MiamiDir = MiamiDir'/'
  44.  
  45. Call Open(fout,'CON:'TopX'/'TopY'/'WidthX'/'WidthY'/'ProgVer'/AUTO/CLOSE','W')
  46. Call Prt('*** 'ProgVer' - by Mat Bettinson ***')
  47. If rtricks = 'NO' then Call Prt('Note: No rexxtricks.library in libs:, tooltypes ignored.')
  48. If nfname = YES & nftmname = YES then Call Prt('Note: DOS script name 'TMName' and 'TogmiName' not found. Tooltypes ignored.')
  49. If nfname = YES & nftmname ~= YES then Call Prt('Note: DOS script name 'TMName' not found, using 'TogmiName' default.')
  50.  
  51. MiRun = Show('P','MIAMI.1')
  52.  
  53. If ~MiRun & RunMiami ~= YES then DO
  54.   Call Prt('Miami is not running, TogMi set not to activate Miami.'
  55.   Signal Leave
  56. END
  57.  
  58. If ~MiRun then DO
  59.   Call Prt('')
  60.   Call Prt('Miami not running, TogMi set to activate Miami.')
  61.   If ~EXISTS(MiamiDir'Miami') then DO
  62.     Call Prt('Miami not found in configed path 'MiamiDir', please edit script!')
  63.     Signal Leave
  64.   END
  65.   If ~EXISTS(MiamiDir||SetMiami) then DO
  66.     Call Prt('Note: Miami settings 'SetMiami' not found!')
  67.     SetMiami = 'Miami.default'
  68.   END
  69.   Call Prt('Running Miami with settings 'SetMiami'...')
  70.   Call Pragma('Dir',MiamiDir)
  71.   Address COMMAND 'RUN >NIL: 'MiamiDir'Miami SETTINGS='SetMiami
  72.   Call Pragma('Dir',OldDir)
  73.   wt = 0
  74.   DO while wt < 5
  75.     If Show('P','MIAMI.1') then break
  76.     Address COMMAND 'Wait 1'
  77.     wt = wt + 1
  78.   END
  79.   If wt = 5 then DO
  80.     Call Prt('Ouch!, I failed to detect Miami!')
  81.     Signal Leave
  82.   END
  83. END
  84.  
  85. Address 'MIAMI.1'
  86. 'ISONLINE'
  87. Online = RC
  88.  
  89. If Online then DO
  90.   Call Prt('Miami detected on-line.')
  91.   If KilMiami = NO then DO
  92.     Call Prt('Instructing Miami to hang-up...')
  93.     'OFFLINE'
  94.     Signal Leave
  95.   END
  96.   ELSE DO
  97.     Call Prt('Instructing Miami to hang-up and Quit...')
  98.     'QUIT'
  99.     Signal Leave
  100.   END
  101. END
  102. ELSE DO
  103.   Call Prt('Miami detected off-line.')
  104.   Call Prt('Instructing Miami to dial-up...')
  105.   If Iconify = YES then 'SHOW'
  106.   'ONLINE'
  107.   If Iconify = YES then 'HIDE'
  108.   If RC ~= 0 then Call Prt('There was an error dialing up!')
  109. END
  110.  
  111. Leave:
  112. Call Prt('Exiting...')
  113. Address COMMAND 'Wait 3'
  114. Call Close(fout)
  115. EXIT
  116.  
  117. Prt:
  118. Parse ARG line
  119. Call WriteLN(fout,line)
  120. RETURN
  121.  
  122. ReadToolTypes:
  123. If ~EXISTS(OldDir'/'TMName) then DO
  124.   nfname = YES
  125.   If ~EXISTS(OldDir'/'TogMiName) then DO
  126.     nftmname = YES
  127.     RETURN
  128.   END
  129.   ELSE tmicon = OldDir'/'TogMiName
  130. END
  131. ELSE tmicon = OldDir'/'TMName
  132.  
  133. Call GETTOOLTYPES(tmicon,tooltypes)
  134. Do i = 1 for tooltypes.0
  135.   Parse VAR tooltypes.i key rest
  136.   key = upper(key)
  137.   rest = strip(word(rest,1))
  138.   SELECT
  139.     When key = 'WINDOW' then DO
  140.      temp = translate(rest,' ',',')
  141.      If words(temp) ~= 4 then break
  142.      TopX = Word(temp,1) ; TopY = word(temp,2) ; WidthX = word(temp,3) ; WidthY = strip(word(temp,4))
  143.     END
  144.     When key = 'MIAMIDIR' then MiamiDir = rest
  145.     When key = 'RUNMIAMI' then RunMiami = rest
  146.     When key = 'KILMIAMI' then KilMiami = rest
  147.     When key = 'ICONIFY' then IconOpen = rest
  148.     When key = 'SETMIAMI' then SetMiami = rest
  149.   END
  150. END
  151. RETURN
  152.